<?php
	/**
     * Incluyendo el archivo donde se encuentra la clase xajax
     */
	 require_once $_SERVER['DOCUMENT_ROOT'] . '/spa/xajax/xajax_core/xajax.inc.php';

    /**
     * Instanciando un objeto de la clase xajax
     */
	 $xajax = new xajax();
	 
	 $rif = $HTTP_GET_VARS['rif']; // Para que el usuario pueda regresar al local
	 
	 function buscarNombreLocal($rif) {
		$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
		$query = "SELECT NOMBRE_LOCAL
				  FROM LOCAL
				  WHERE PK_RIF_LOCAL = '$rif'";
				  
		$sentencia = OCIParse($conexion, $query);
		
		OCIExecute($sentencia);
		
		OCILogOff($conexion);
		
		$rows = OCIFetchstatement($sentencia, $resultado);
		
		if ($rows > 0)
			$nombreLocal = $resultado['NOMBRE_LOCAL'][0];
			
		return $nombreLocal;
	}
	 
	/**
     * Escribiendo una función que será llamada por medio de ajax
     */
	function insertar_producto($producto) {
		$nombre = $producto['nombre'];
		$tipo = $producto['tipo'];
		$costo = $producto['costo'];
		$descripcion = $producto['descripcion'];
		
		$conexion = OCILogon ('spa','1234') or die( "¡No se pudo conectar a la base de Datos!") or die (OCIError());
	
    	$query = "INSERT INTO PRODUCTO
		     	  VALUES (PK_ID_PRODUCTO.NEXTVAL, INITCAP('$nombre'), INITCAP('$tipo'), $costo, '$descripcion')";
				  
		$sentencia = OCIParse($conexion, $query);
	
		$c = OCIExecute($sentencia);
		
		OCICommit($conexion);
		
		OCILogOff($conexion);
		 
		$nombre = '<font color="#FFFFFF">' . $nombre . '</font>';
		$tipo = '<font color="#FFFFFF">' . $tipo . '</font>';
		$costo = '<font color="#FFFFFF">' . $costo . '</font>';
		$descripcion = '<font color="#FFFFFF">' . $descripcion . '</font>';
		
		/**
		 * Muestra el mensaje de éxito o error después de la inserción
		 */
		$mensaje = '<font size="+1" color="#FFFFFF">¡INSERCIÓN EXITOSA!</font>';
		
		/**
          * Instanciando un objeto de la clase que genera la respuesta con ajax
          */
        $respuesta = new xajaxResponse();

        /**
         * Escribiendo en las capas (div) con id = nombre, tipo, costo, descripcion
		 * En cada capa se crea el campo de texto con el valor defecto traído de la base de datos
         */
		$respuesta -> assign("nombre", "innerHTML", $nombre);
		$respuesta -> assign("tipo", "innerHTML", $tipo);
		$respuesta -> assign("costo", "innerHTML", $costo);
		$respuesta -> assign("descripcion", "innerHTML", $descripcion);
		$respuesta -> assign("borrar", "innerHTML", "");
		$respuesta -> assign("registrar", "innerHTML", "");
		$respuesta -> assign("mensaje", "innerHTML", $mensaje);
		 
		/**
         * Devolviendo el objeto que genera la respuesta con ajax
         */
        return $respuesta;
	}
	
	/**
     * Asociando la función creada al objeto xajax
     */
    $xajax -> registerFunction("insertar_producto");
	 
	function cargarLocales() { 
		$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
		
		$query = "SELECT PK_RIF_LOCAL, NOMBRE_LOCAL
		          FROM LOCAL";
				  
		$sentencia = OCIParse($conexion, $query);
		
		OCIExecute($sentencia);
		
		OCILogOff($conexion);
		
		$rows = OCIFetchstatement($sentencia, $resultado);
		
		$selectLocal = '<select name="local" onchange="xajax_validarCantidad(document.producto.local.options[document.producto.local.selectedIndex].value, document.producto.cantidad.value)"><option value="Seleccione">Seleccione</option>';
		if ($rows > 0)
			for ($i = 0; $i < $rows; $i++)
				$selectLocal .= '<option value="' . $resultado['PK_RIF_LOCAL'][$i] . '">' . $resultado['NOMBRE_LOCAL'][$i] . '</option>';
				
		$selectLocal .= '</select>';
		
		return $selectLocal;
	}
	 
	function validarNombre($nombre) {
		$respuesta = new xajaxResponse();
		 
		if ($nombre == '') {
			$respuesta -> assign("errorProducto", "innerHTML", '<font color="#990000" size="-1">* Campo obligatorio</font>');
			$respuesta -> assign("errorP", "innerHTML", '<input name="errorProducto" type="hidden" value="true" />');
		}
		 
		else {
			$conexion = OCILogon('spa', '1234') or die("¡No se pudo conectar a la base de datos!") or die(OCIError());
			
			$query = "SELECT PK_ID_PRODUCTO
			          FROM PRODUCTO
					  WHERE NOMBRE = INITCAP('$nombre')";
					  
			$sentencia = OCIParse($conexion, $query);
			
			OCIExecute($sentencia);
			
			OCILogOff($conexion);
			
			$rows = OCIFetchstatement($sentencia, $resultado);
			
			if ($rows > 0) {
				$respuesta -> assign("errorProducto", "innerHTML", '<font color="#990000" size="-1">* Nombre duplicado</font>');
				$respuesta -> assign("errorP", "innerHTML", '<input name="errorProducto" type="hidden" value="true" />');
			}
				
			else {
				$respuesta -> assign("errorProducto", "innerHTML", '');
				$respuesta -> assign("errorP", "innerHTML", '<input name="errorProducto" type="hidden" value="false" />');
			}
		}
		 
		return $respuesta;
	}
	 
	$xajax -> registerFunction("validarNombre");
	 
	function validarTipo($tipo) {
		$respuesta = new xajaxResponse();
		 
		if ($tipo == '') {
			$respuesta -> assign("errorTipo", "innerHTML", '<font color="#990000" size="-1">* Campo obligatorio</font>');
			$respuesta -> assign("errorT", "innerHTML", '<input name="errorTipo" type="hidden" value="true" />');
		}
		 
		else {
			$respuesta -> assign("errorTipo", "innerHTML", '');
		 	$respuesta -> assign("errorT", "innerHTML", '<input name="errorTipo" type="hidden" value="false" />');
		}
		
		return $respuesta;
	}
	 
	$xajax -> registerFunction("validarTipo");
	
	function validarCosto($costo) {
		$respuesta = new xajaxResponse();
		 
		if ($costo == '') {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Campo obligatorio</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		 
		else if (!is_numeric($costo)) {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Costo debe ser numérico</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		
		else if (($costo < 0.01) || ($costo > 999999.99)) {
			$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000" size="-1">* Costo entre  0.01 y 999999.99</font>');
			$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true" />');
		}
		
		else {
			$respuesta -> assign("errorCosto", "innerHTML", '');
		 	$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="false" />');	
		}
		
		return $respuesta;
	}
	
	$xajax -> registerFunction("validarCosto");
	
	function validarDescripcion($descripcion) {
		$respuesta = new xajaxResponse();
		
		if ($descripcion == '') {
			$respuesta -> assign("errorDescripcion", "innerHTML", '<font color="#990000" size="-1">* Campo obligatorio</font>');
			$respuesta -> assign("errorD", "innerHTML", '<input name="errorDescripcion" type="hidden" value="true" />');
		}
		
		else {
			$respuesta -> assign("errorDescripcion", "innerHTML", '');
		 	$respuesta -> assign("errorD", "innerHTML", '<input name="errorDescripcion" type="hidden" value="false" />');
		}
		
		return $respuesta;		
	}
	
	$xajax -> registerFunction("validarDescripcion");
	
	function reiniciarCamposErrores() {
		$respuesta = new xajaxResponse();
		
		$respuesta -> assign("errorProducto", "innerHTML", '<font color="#990000">* Campo obligatorio</font>');
		$respuesta -> assign("errorP", "innerHTML", '<input name="errorProducto" type="hidden" value="true"');
		
		$respuesta -> assign("errorTipo", "innerHTML", '<font color="#990000">* Campo obligatorio</font>');
		$respuesta -> assign("errorT", "innerHTML", '<input name="errorTipo" type="hidden" value="true"');
		
		$respuesta -> assign("errorCosto", "innerHTML", '<font color="#990000">* Campo obligatorio</font>');
		$respuesta -> assign("errorC", "innerHTML", '<input name="errorCosto" type="hidden" value="true"');
		
		$respuesta -> assign("errorDescripcion", "innerHTML", '<font color="#990000">* Campo obligatorio</font>');
		$respuesta -> assign("errorD", "innerHTML", '<input name="errorDescripcion" type="hidden" value="true"');
		
		return $respuesta;
	}
	
	$xajax -> registerFunction("reiniciarCamposErrores");
	
	/**
     * Ejecutando el método del objeto xajax que permite procesar las
     * peticiones que puedan llegar desde la página
     */
     $xajax -> processRequest();
	 
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License

Name       : Beach Sunset
Description: A two-column, fixed-width design for 1024x768 screen resolutions.
Version    : 1.0
Released   : 20090416

-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Insertar nuevo producto</title>
	<?php
    	/**
         * Indicando al objeto xajax que se encargue de generar el código
         * javascript necesario para procesar las llamadas a ajax
         */
        $xajax -> printJavascript("xajax/");
	?>
    <script>
		function insertarProducto() {
			errorProducto = document.producto.errorProducto.value;
			errorTipo = document.producto.errorTipo.value;
			errorCosto = document.producto.errorCosto.value;
			errorDescripcion = document.producto.errorDescripcion.value;
			
			if ((errorProducto == 'false') && (errorTipo == 'false') && (errorCosto == 'false') && (errorDescripcion == 'false'))
				xajax_insertar_producto(xajax.getFormValues('producto'));
				
			else
				alert("¡El producto presenta inconvenientes, revise e intente de nuevo!");
		}
	</script>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
<style type="text/css">
<!--
.Estilo2 {font-size: 12px; color: #FF6600; }
.Estilo3 {font-size: 12px; color: #FF9900; }
.Estilo4 {color: #FF6600}
.Estilo5 {font-size: 24px}
.Estilo7 {color: #FFFFFF}
.Estilo8 {font-size: 12px; color: #FFFFFF; }
.Estilo9 {font-size: 60px}
.Estilo10 {color: #F0F0F0}
-->
</style>
</head>
<body>

<div id="wrapper">
		<div id="header">	
 <br />
		<div id="menu">				      
				<li  class="active"><a href="HOME.php" title="HOME">HOME</a></li>
				<li><a href="INSERTAR.php" title="INSERTAR">INSERTAR</a></li>
				<li><a href="ELIMINAR.php" title="ELIMINAR">ELIMINAR</a></li>
				<li><a href="CONSULTAR.php" title="CONSULTAR">CONSULTAR</a></li>
				<li><a href="MODIFICAR.php" title="MODIFICAR">MODIFICAR</a></li>
                <li><a href="MOSTRAR.php" title="MOSTRAR">MOSTRAR</a></li>
	  	</div>  <!-- end #menu -->	
  </div>    <!-- end #header -->	

		<div id="logo">
			<h1><a href="#"><span class="">Take a Rest</span> ... </a></h1>
		    <div align="left"></div>
		</div>
		<!-- end #logo -->	
        
</div> <!-- end *header- wrapper -->

<div id="page">

	<div id="sidebar">
		<ul>
			<li>
				<h2>Acciones</h2>
				<p class="Estilo2">Pulse sobre una acción para ejecutarla</p>
			</li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="InsertarProducto.php<?php if ($rif != '') echo '?rif=' . $rif ?>" class="Estilo10">Agregar un nuevo producto</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="ModificarProducto.php<?php if ($rif != '') echo '?rif=' . $rif ?>" class="Estilo10">Modificar un producto existente</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="EliminarProducto.php?rif=<?php echo $rif ?>" class="Estilo10">Eliminar un producto</a></font>
            </li>
            <li>
            	<font color="#FFFFFF">&raquo; <a href="MostrarProducto.php<?php if ($rif != '') echo '?rif=' . $rif ?>" class="Estilo10">Mostrar todos los productos</a></font>
            </li>
            <?php
				if ($rif != '') {
					$linkRegresar = '<li>';
					$linkRegresar .= '<font color="#FFFFFF">';
					$linkRegresar .= '&raquo; <a href="ConsultarLocal.php?rif=' . $rif . '" class="Estilo10">Regresar al local</a>';
					$linkRegresar .= '</li>';
					
					echo $linkRegresar;
				}
			?>
		</ul>
</div>

	<?php
   		if ($rif != '') {
			$local = '<div align="left">';
			$local .= '<font color="#FFFFFF" size="+1">Local actual: </font>';
			$local .= '<font color="#CC3300">' . buscarNombreLocal($rif) . '</font>';
			$local .= '</div><br /><br />';
			
			echo $local;
		}
   	?>

	<div id="content">
  <h1 align="center"><font color="#FFFFFF">Insertar producto</font></h1>
  <p>&nbsp;</p>
  <div align="center">
  <form id="producto" name="producto">
  <table width="509" border="0" cellpadding="5" cellspacing="5">
  <tr>
    <td width="246" align="right"><font color="#FFFFFF" size="+1">Nombre</font></td>
    <td width="247" align="left"><div id="nombre"><input name="nombre" type="text" id="nombre" size="40" maxlength="40" onblur="xajax_validarNombre(document.producto.nombre.value)" /></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorProducto"><font color="#990000" size="-1">* Campo obligatorio</font></div></td>
    <td><div id="errorP"><input name="errorProducto" type="hidden" value="true" /></div></td>
  </tr>
  <tr>
    <td align="right"><font color="#FFFFFF" size="+1">Tipo</font></td>
    <td align="left"><div id="tipo"><input name="tipo" type="text" id="tipo" size="40" maxlength="20" onblur="xajax_validarTipo(document.producto.tipo.value)" /></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorTipo"><font color="#990000" size="-1">* Campo obligatorio</font></div></td>
    <td><div id="errorT"><input name="errorTipo" type="hidden" value="true" /></div></td>
  </tr>
  <tr>
    <td align="right"><font color="#FFFFFF" size="+1">Costo</font></td>
    <td align="left"><div id="costo"><input name="costo" type="text" id="costo" size="33" maxlength="9" onblur="xajax_validarCosto(document.producto.costo.value)" /><font color="#FFFFFF" size="+1"> $US</font></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorCosto"><font color="#990000" size="-1">* Campo obligatorio</font></div></td>
    <td><div id="errorC"><input name="errorCosto" type="hidden" value="true" /></div></td>
  </tr>
  <tr>
    <td align="right"><font color="#FFFFFF" size="+1">Descripci&oacute;n</font></td>
    <td align="left"><div id="descripcion"><input name="descripcion" type="text" id="descripcion" size="40" maxlength="55" onblur="xajax_validarDescripcion(document.producto.descripcion.value)" /></div></td>
  </tr>
  <tr>
  	<td></td>
    <td><div id="errorDescripcion"><font color="#990000" size="-1">* Campo obligatorio</font></div></td>
    <td><div id="errorD"><input name="errorDescripcion" type="hidden" value="true" /></div></td>
  </tr>
  <tr>
  	<td align="right"><div id="borrar"><input name="borrar" type="reset" value="Borrar todo" onclick="xajax_reiniciarCamposErrores()" /></div></td>
    <td align="left"><div id="registrar"><input name="registrar" type="button" value="Registrar" onclick="insertarProducto()" /></div></td>
  </tr>
  <tr>
  	<td align="center" colspan="2"><div id="mensaje"></div></td>
  </tr>
  </table>
</form>
</div>

<p>&nbsp;</p>
<div id="footer">
  <p> Design by <a href="http://www.freecsstemplates.org/">Nubielis, Eduardo, Daniel </a></p>
</div>
<!-- end #footer -->

  </div>
</div>
<!-- end #page -->

</body>
</html>
